!function(a) {
    function d(b) {
        var c = b || window.event, d = [].slice.call(arguments, 1), e = 0, g = 0, h = 0;
        return b = a.event.fix(c), b.type = "mousewheel", c.wheelDelta && (e = c.wheelDelta / 120), 
        c.detail && (e = -c.detail / 3), h = e, void 0 !== c.axis && c.axis === c.HORIZONTAL_AXIS && (h = 0, 
        g = -1 * e), void 0 !== c.wheelDeltaY && (h = c.wheelDeltaY / 120), void 0 !== c.wheelDeltaX && (g = -1 * c.wheelDeltaX / 120), 
        d.unshift(b, e, g, h), (a.event.dispatch || a.event.handle).apply(this, d);
    }
    var c, b = [ "DOMMouseScroll", "mousewheel" ];
    if (a.event.fixHooks) for (c = b.length; c; ) a.event.fixHooks[b[--c]] = a.event.mouseHooks;
    a.event.special.mousewheel = {
        setup: function() {
            if (this.addEventListener) for (var a = b.length; a; ) this.addEventListener(b[--a], d, !1); else this.onmousewheel = d;
        },
        teardown: function() {
            if (this.removeEventListener) for (var a = b.length; a; ) this.removeEventListener(b[--a], d, !1); else this.onmousewheel = null;
        }
    }, a.fn.extend({
        mousewheel: function(a) {
            return a ? this.bind("mousewheel", a) : this.trigger("mousewheel");
        },
        unmousewheel: function(a) {
            return this.unbind("mousewheel", a);
        }
    });
}(jQuery);